/******************************************************************************
 * * mmi_modem_adaptor_main.h
 *
 * *(C) Copyright 2019 Asr International Ltd.
 * * All Rights Reserved
 * ******************************************************************************/
#ifndef MMI_MODEM_ADAPTOR_VIDEO_CALL_H
#define MMI_MODEM_ADAPTOR_VIDEO_CALL_H

#ifdef __cplusplus
extern "C" {
#endif
#include "lv_watch.h"

#if USE_LV_WATCH_VOIP_ADAPTOR
#include "../include/ui_inter_msg_interface.h"
#include "mmi_modemadp_interface.h"
#include "../../../../product/crane_modem/pcac/video_call/baresip/modules/watchui/watchui.h"

/******************************************************************************
 *
 *         type define
 *
 *******************************************************************************/
/** Video mode */
enum baresipvidmode {
    BARESIPVIDMODE_OFF = 0,    /**< Video disabled                */
    BARESIPVIDMODE_ON,         /**< Video enabled                 */
    BARESIPVIDMODE_INV,
};

typedef enum
{
    BARESIPAPI_HANGUP,
    BARESIPAPI_REJ,
    BARESIPAPI_ANSWER,
    HANGUP_CONFLICT,
    REJECT_CONFLICT
    //tbc.
} baresipapi_action_e;

extern int bsapi_call_action(unsigned short op,unsigned short vidType);
extern int bsapi_call_dial(unsigned short callType, char*pContactUri);
extern void baresip_set_localpreview(bool localprevew);
extern bool voipMsgQueReceive(voipmsg_t *voipmsg);
#if LV_WATCH_AUTO_TEST != 0
extern bool voipAutoTestMsgQueReceive(voipautotestmsg_t *voipAutoTestmsg);
#endif

#endif //USE_LV_WATCH_VOIP_ADAPTOR
#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* MMI_MODEM_ADAPTOR_VIDEO_CALL_H */
